package com.ruoyi.project.lely.bean.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

/**
 * 优惠券用户使用
 *
 * @author luoyong
 */
@Data
@ApiModel("优惠券用户使用 入参DTO")
public class LyCouponUserDTO {

    @ApiModelProperty("ID")
    private Long id;

    @NotNull
    @ApiModelProperty("用户ID")
    private Integer userId;

    @NotNull
    @ApiModelProperty("优惠券ID")
    private Integer couponId;

    @ApiModelProperty("使用状态, 如果是0则未使用；如果是1则已使用；如果是2则已过期；如果是3则已经下架；")
    private Integer status;

    @ApiModelProperty("使用时间")
    private LocalDateTime usedTime;

    @ApiModelProperty("有效期开始时间")
    private LocalDate startTime;

    @ApiModelProperty("有效期截至时间")
    private LocalDate endTime;

    @Length(max = 63, message = "订单编号长度不能超过63位")
    @ApiModelProperty("订单编号")
    private String orderSn;

}
